语法
transform:perspective(length);
perspective:<length>;
perspective:<length>;
语法项目 | 说明 |
---|---|
初始值 | none |
适用于 | 块元素和行内元素 |
可否继承 | 否 |
取值 | 长度值 |
媒介 | 视觉 |
版本 | CSS3.0 |
说明
perspective 变换函数对于 3D 变换来说至关重要。该函数会设置查看者的位置,并将可视内容映射到一个视锥上,继而投影到一个 2D 视平面上。如果不指定透视,则 Z 空间中的所有点将平铺到同一个 2D 视平面中,并且变换结果中将不存透视深概念。作用于元素的子元素。
perspective有两种写法,一种是设置所有的子元素有一个共同的透视值,perspective作为一个属性值来写;一种是直接作用于元素本身,perspective作为transform的一个函数来写如:
.wrap{-webkit-perspective:1000px;}
.wrap .child{-webkit-transform:perspective(1000px);}
关联属性:perspective-origin。
取值
none:没有透视变换功能。
length:指定一个透视值。
实例代码
CSS
.perspective_none{ position:relative; background:#4d6ea6; float:left; margin:50px; -webkit-animation:perspective_none 4s infinite linear; -moz-animation:perspective_none 4s infinite linear; } .perspective_value{ position:relative; background:#4d6ea6; float:left; margin:50px; -webkit-animation:perspective_value 4s infinite linear; -moz-animation:perspective_value 4s infinite linear; } @-webkit-keyframes perspective_none{ 0%{-webkit-transform:rotateX(0deg);} 100%{-webkit-transform:rotateX(360deg);} } @-moz-keyframes perspective_none{ 0%{-moz-transform:rotateX(0deg);} 100%{-moz-transform:rotateX(360deg);} } @-webkit-keyframes perspective_value{ 0%{-webkit-transform:perspective(500px) rotateX(0deg);} 100%{-webkit-transform:perspective(500px) rotateX(360deg);} } @-moz-keyframes perspective_value{ 0%{-moz-transform:perspective(500px) rotateX(0deg);} 100%{-moz-transform:perspective(500px) rotateX(360deg);} }
HTML
运行一下 »
CSS3 创建3D模型 »
<div class="demo_box perspective_none">没有设置3D透视%</div> <div class="demo_box perspective_value">透视为500px</div>
兼容性
IE | Firefox | Opera | Safari | Chrome |
---|---|---|---|---|
IE 10+ | Firefox 3.5+ | Opera 11.50+ | Safari 10+ | Chrome 2.0+ |